<!DOCTYPE html>
<html>
<head>

<meta charset="UTF-8">

<title>2022 上应五福</title>

<base href="$FLUTTER_BASE_HREF">

<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="2022 上应五福">

<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="kite_fu">
<link href="favicon.png" rel="apple-touch-icon">

<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/>

<link rel="manifest" href="manifest.json">

  <link rel="stylesheet" type="text/css" href="splash/style.css">
</head>
<body>
  <picture id="splash">
    <source srcset="splash/img/light-1x.png 1x, splash/img/light-2x.png 2x, splash/img/light-3x.png 3x, splash/img/light-4x.png 4x" media="(prefers-color-scheme: light) or (prefers-color-scheme: no-preference)">
    <source srcset="splash/img/dark-1x.png 1x, splash/img/dark-2x.png 2x, splash/img/dark-3x.png 3x, splash/img/dark-4x.png 4x" media="(prefers-color-scheme: dark)">
    <img class="center" aria-hidden="true" src="splash/img/light-1x.png" />
  </picture>

<!-- This script installs service_worker.js to provide PWA functionality to
      application. For more information, see:
      https://developers.google.com/web/fundamentals/primers/service-workers -->
<script>
  var serviceWorkerVersion = null;
  var scriptLoaded = false;
  function loadMainDartJs() {
    if (scriptLoaded) {
      return;
    }
    scriptLoaded = true;
    var scriptTag = document.createElement('script');
    scriptTag.src = 'main.dart.js';
    scriptTag.type = 'application/javascript';
    document.body.append(scriptTag);
  }

  function loadMainDartJsSW() {

    // Wait for registration to finish before dropping the <script> tag.
    // Otherwise, the browser will load the script multiple times,
    // potentially different versions.
    var serviceWorkerUrl =
      "flutter_service_worker.js?v=" + serviceWorkerVersion;
    navigator.serviceWorker.register(serviceWorkerUrl).then((reg) => {
      function waitForActivation(serviceWorker) {
        serviceWorker.addEventListener("statechange", () => {
          if (serviceWorker.state == "activated") {
            console.log("Installed new service worker.");
            loadMainDartJs();
          }
        });
      }
      if (!reg.active && (reg.installing || reg.waiting)) {
        // No active web worker and we have installed or are installing
        // one for the first time. Simply wait for it to activate.
        waitForActivation(reg.installing || reg.waiting);
      } else if (!reg.active.scriptURL.endsWith(serviceWorkerVersion)) {
        // When the app updates the serviceWorkerVersion changes, so we
        // need to ask the service worker to update.
        console.log("New service worker available.");
        reg.update();
        waitForActivation(reg.installing);
      } else {
        // Existing service worker is still good.
        console.log("Loading app from service worker.");
        loadMainDartJs();
      }
    });

    // If service worker doesn't succeed in a reasonable amount of time,
    // fallback to plain <script> tag.
    setTimeout(() => {
      if (!scriptLoaded) {
        console.warn(
          "Failed to load app from service worker. Falling back to plain <script> tag."
        );
        loadMainDartJs();
      }
    }, 4000);

  };

  if ('serviceWorker' in navigator) {
    window.addEventListener('load', loadMainDartJsSW);
  } else {
    loadMainDartJs();
  }
</script>

</body>
</html>